package org.darkforest.common.services;

import org.darkforest.model.Cart;
import org.darkforest.model.Member;
import org.darkforest.vo.CartAjaxAmountVo;

import java.util.List;
import java.util.Map;

/**
 * Created by Libing on 2015/3/23.
 */
 public interface CartService {
    //根据条件查询购物车数据 可以根据storeid 用户ID
    List<Cart> findCartList(String userId, String selected, Integer storeId);

     Cart getCartInfo(String userId, Integer goodsId);

     void addCart(Cart cart);

     CartAjaxAmountVo getCartTotalInfo(String userId, String selected);

     void updateCartSelected(Map param);

     void updateUserIdAfterLogin(Cart cart);

     void updateCartGoodsNum(Cart cart);

     void clearCartByBuyerId(String userId);

     void deleteById(Integer cartId);

     List<Cart> getCartStoreInfo(String userId);

     List<Integer> findStoreByUserBuyGoods(Integer userId);

    /**
     * 根据用户ID 以及购物车ID批量查询购物车内容
     * @param userId
     * @param cardIds
     * @return
     */
     List<Cart> selectCartListByIds(Integer userId, String cardIds);

 /**
  * 根据商品公共ID 删除购物车商品
  * @param goodsCommonIds
  */
     void deleteByGoodsCommonId(String[] goodsCommonIds);

      int deleteBatch(Member member, String cartIds);
}
